note
    description: "API tests for {{classname}}"
    date: "$Date$"
    revision: "$Revision$"


class {{classname}}_TEST

inherit

    EQA_TEST_SET

feature -- Test routines

{{#operations}}
    {{#operation}}
    
    test_{{operationId}}
            -- {{summary}}
            -- 
            -- {{notes}} 
        local
            {{#returnType}}
            l_response: {{{returnType}}}
            {{/returnType}}
            {{#allParams}}
            l_{{paramName}}: {{{dataType}}}
            {{/allParams}}
        do
            -- TODO: Initialize required params.
            {{#allParams}}
            {{#required}}
            {{#isContainer}}
            {{#isListContainer}}              
            -- create {ARRAYED_{{dataType}}} l_{{paramName}}.make (2)
            {{/isListContainer}}
            {{/isContainer}}
            {{^isContainer}}
            -- l_{{paramName}}
            {{/isContainer}}        
            {{/required}}
            {{/allParams}}
                      
            {{#returnType}}
            -- l_response := api.{{operationId}}{{#hasParams}}({{#allParams}}l_{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}){{/hasParams}}
            {{/returnType}}
            {{^returnType}}
            -- api.{{operationId}}{{#hasParams}}({{#allParams}}l_{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}){{/hasParams}}
            {{/returnType}}
            assert ("not_implemented", False)
        end
    {{/operation}}
{{/operations}}

feature {NONE} -- Implementation

    api: {{classname}}
            -- Create an object instance of `{{classname}}'.
        once            
            create { {{classname}} } Result
        end

end
